<?php
/**
 * <https://y.st./>
 * Copyright © 2018 Alex Yst <mailto:copyright@y.st>
 * 
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 * 
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License
 * along with this program. If not, see <https://www.gnu.org./licenses/>.
**/

$xhtml = array(
	'<{title}>' => 'Upcoming terms',
	'takedown' => '2017-11-01',
	'<{body}>' => <<<END
<section id="drudgery">
	<h2>University drudgery</h2>
	<p>
		A student in one of the discussion forums mentioned putting off the course we&apos;re taking together for a while, which got me thinking about my own course schedule.
		For reference, this is what I have left to do:
	</p>
	<ul>
		<li>
			<span class="needed-for-associate" title="Communications and Networking">CS 2204</span>
			<ul>
				<li>
					<span class="needed-for-bachelor" title="Advanced Networking and Data Security">CS 4404</span>
				</li>
			</ul>
		</li>
		<li>
			<span class="needed-for-bachelor" title="Data Structures">CS 3303</span>
			<ul>
				<li>
					<span class="needed-for-bachelor" title="Analysis of Algorithms">CS 3304</span>
					<ul>
						<li>
							<span class="needed-for-bachelor" title="Data Mining and Machine Learning">CS 4407</span><em title="(proctored course)">*</em>
							<ul>
								<li>
									<span class="needed-for-bachelor" title="Artificial Intelligence">CS 4408</span><em title="(proctored course)">*</em>
								</li>
							</ul>
						</li>
						<li>
							<span class="needed-for-bachelor" title="Computer Graphics">CS 4406</span><em title="(proctored course)">*</em>
						</li>
					</ul>
				</li>
				<li>
					<span class="needed-for-bachelor" title="Information Retrieval">CS 3308</span><em title="(proctored course)">*</em>
				</li>
			</ul>
		</li>
		<li>
			All of these: <span class="needed-for-bachelor" title="Web Programming 2">CS 3305</span><em title="(proctored course)">*</em>, <span class="needed-for-bachelor" title="Mobile Applications">CS 4405</span>, <span class="needed-for-bachelor" title="Operating Systems 2">CS 3307</span>, <span class="needed-for-bachelor" title="Software Engineering 2">CS 4403</span>, <span class="needed-for-bachelor" title="Comparative Programming Languages">CS 4402</span>, <span class="needed-for-bachelor" title="Databases 2">CS 3306</span><em title="(proctored course)">*</em>, <span class="needed-for-bachelor" title="Calculus">MATH 1211</span>, <span class="needed-for-associate" title="Introduction to Statistics">MATH 1280</span><em title="(proctored course)">*</em>, <span class="needed-for-bachelor" title="Discrete Mathematics">MATH 1302</span>
		</li>
		<li>
			<span class="needed-for-associate">One of these</span>: <span title="Biology 1 for Health Studies Majors">BIOL 1121</span>, <span title="Introduction to Biology">BIOL 1301</span>, <span title="Introduction to Environmental Science">ENVS 1301</span>
		</li>
		<li>
			<span class="needed-for-bachelor">One of these</span>: <span title="Introduction to Economics">ECON 1580</span>, <span title="Introduction to Human Psychology">PSYC 1111</span>, <span title="Emotional Intelligence">PSYC 1205</span>, <span title="Introduction to Psychology">PSYC 1504</span>, <span title="Introduction to Sociology">SOC 1502</span>
		</li>
		<li>
			<span class="needed-for-associate">One</span> (<span class="needed-for-bachelor">two</span>) of these: <span title="Art History">AHIST 1401</span>, <span title="World Literature">ENGL 1405</span>, <span title="Introduction to Philosophy">PHIL 1402</span>
		</li>
		<li>
			<span class="needed-for-associate">One</span> (<span class="needed-for-bachelor">four</span>) electives
		</li>
	</ul>
	<p>
		Due to the school&apos;s issues, I ended up having to take only a single course one term, instead of being able to take two.
		As a result, I need five more courses to get my associate degree, not four or even six.
		Obviously, those five need to be the next ones I take.
		Of those, one is an elective.
		One of the mandatory courses is proctored, so I should make the elective course one of the proctored courses I&apos;ll eventually need to take for my bachelor degree.
		I don&apos;t want to waste another term taking only one course, so I should add in a second elective as well; an unproctored one to pair with one of the unproctored mandatory courses.
		However, there&apos;s a strong chance the school will pull something hokey, forcing me to take only a single course again because of some technicality.
		I&apos;m in the associate degree program at the moment, so they might not let me get a jump start on the bachelor degree by taking an extra elective in my final term.
		For that reason, I should make sure the proctored elective works out by making the unproctored elective be a course I take in my final term.
	</p>
	<p>
		As far as proctored courses I need for my bachelor degree, if I want that unproctored elective to go last, I only have two choices.
		I&apos;ll take the Web-related one.
		It might help with this website, so it could be nice to have that one done earlier.
		As far as unproctored electives, one course stands out as being the stem of the last remaining branch of the prerequisite tree.
		I&apos;ll take that one as well.
		With that in mind, here&apos;s what I think I&apos;ll do for the next three terms:
	</p>
	<ol start="0">
		<li>
			<ul>
				<li>
					<span class="needed-for-associate" title="Communications and Networking">CS 2204</span>
				</li>
				<li>
					<span class="needed-for-associate"  title="Introduction to Environmental Science">ENVS 1301</span>
				</li>
			</ul>
		</li>
		<li>
			<ul>
				<li>
					<span class="needed-for-bachelor" title="Web Programming 2">CS 3305</span><em title="(proctored course)">*</em>
				</li>
				<li>
					<span class="needed-for-associate" title="Introduction to Statistics">MATH 1280</span><em title="(proctored course)">*</em>
				</li>
			</ul>
		</li>
		<li>
			<ul>
				<li>
					<span class="needed-for-bachelor" title="Data Structures">CS 3303</span>
				</li>
				<li>
					<span class="needed-for-associate"  title="Introduction to Philosophy">PHIL 1402</span>
				</li>
			</ul>
		</li>
	</ol>
	<p>
		I guess none of this will be on a visible page though until 2023.
		I suppose I&apos;ll copy the decisions, though not the logic behind them, to the 2018-03-29 entry.
		That&apos;s likely to be the first uncensored entry I&apos;ll reach, given what I&apos;ve seen of my current courses.
	</p>
	<p>
		I made a few discussion posts today, though only one counts toward my grade.
	</p>
	<blockquote>
		<p>
			I&apos;m always happy to meet a fellow Linux user!
			I can&apos;t remember when I first started understanding the implications of free software and free culture, but it was due to a strange fluke that I first started using Linux.
			I was an OS X user at the time.
			My laptop had died, and I&apos;d been given a new one as a gift.
			It was a Windows machine though, and Windows and I have never gotten along.
			I looked up instructions on how to install OS X on non-Apple hardware only to find that it was illegal to do so.
			So I had to find another solution.
			I tried Linux.
			My first distribution was Ubuntu, and version 12.04 of that had just come out.
			I never remember the goofy code names on these things, but I do usually know what version number my operating system bares.
			Due to the way Canonical chooses their version numbers, that tells me I&apos;ve been using Linux since around April of 2012.
			I guess that means I&apos;ve been using Linux for almost six years now.
			It feels like a lot longer though.
			I didn&apos;t yet understand free software or free culture at this point, but it started me down the right path.
		</p>
	</blockquote>
	<blockquote>
		<p>
			It&apos;s amazing how large computers used to be and how small they&apos;ve gotten.
			Lots of people carry a computer in their pocket even these days.
			So-called &quot;smartphones&quot; aren&apos;t actually telephones in any way, shape, or form.
			Calling them telephones is like calling your laptop a music player just because it can handle the replay of Vorbis/$a[MP3] files and has built-in speakers.
			These so-called &quot;smartphones&quot; are actually general-purpose computers that happen to have radios built into them.
			The prices have gone down drastically as well.
			A complete laptop, complete desktop machine, or complete pocket computer costs less than the price of one of those $a[IBM] 3380s, yet the $a[IBM] 3380s was only one component necessary for building a complete system.
		</p>
		<p>
			I don&apos;t remember most my questions offhand, and due to rules imposed by the university, my notes (which would remind me of my questions) are incredibly painful to access.
		</p>
		<p>
			My main question was about buses though.
			Buses are bidirectional.
			However, logic gates obviously are not.
			So how are buses bidirectional, when they feed into and are fed into by structures composed of logic gates?
			Without something physically moving the gates, connecting and disconnecting them to flip the direction of the bus, I don&apos;t at all understand how buses could possibly be bidirectional.
			Without understanding that, I don&apos;t feel I can really understand buses at all, beyond a highly-abstract level.
			It seems like a pretty huge oversight to have not included this in the coursework material.
		</p>
		<p>
			Additionally, software is able to influence hardware because the bits in $a[RAM] are treated as inputs to the logic gates.
			The program counter is used as input to determine which instruction from $a[RAM] should be used as the rest of the input.
			However, how does software end up in $a[RAM] to begin with?
			Interaction with (for example) hard drives was beyond the scope of the course, so nothing on this front was explained.
		</p>
	</blockquote>
	<blockquote>
		<p>
			Yeah, it&apos;s amazing how expensive an education is.
			The tuition here is surprisingly low though, at only \$100 $a[USD] per course.
			Getting an education here is actually affordable.
			I put this course off a while too, mostly so I could first finish all courses that act as prerequisites to other courses.
			I didn&apos;t want to end up stuck in a later term, where I can only take one course at a time because the rest of the courses I need are in a chain of prerequisites.
			I&apos;m slightly paranoid about that possibility, actually, considering that there&apos;s no guarantee any particular course will be offered during the term I need it.
			It just seems best to get all that mess out of the way as soon as possible.
		</p>
	</blockquote>
</section>
<section id="meta">
	<h2>Phantom pages</h2>
	<p>
		Realising this whole term would be blacked out, I started setting up the dummy pages for missing entries.
		Almost halfway through though, I realised I was basing the blackout pages on an assumption that the final site update of the term would happen as currently scheduled.
		If I&apos;m wrong that the whole term will be blacked out, that issue will be fixed as I come to visible entries, but if I end up skipping an update, extra blacked out entries, whether representing days actually censored or not, will throw off the state of the website.
		It&apos;ll look like an update was made when it wasn&apos;t, so it&apos;ll look like my canary failed to chirp.
		It&apos;s not worth the gamble.
		In times of unexpected urgency, such as the recent redaction, it&apos;s fine.
		There&apos;s no need to take needless risks other times though.
	</p>
</section>
END
);
